import request from '@/utils/request.js'

// 获取文章详情数据的 API
export const getArticleDetailAPI = artId => {
  return request.get(`/v1_0/articles/${artId}`)
}

// 关注作者的 API（形参中的 userId 是作者的 id）
export const followUserAPI = userId => {
  return request.post('/v1_0/user/followings', {
    target: userId
  })
}

// 取消关注作者的 API
export const unfollowUserAPI = userId => {
  return request.delete(`/v1_0/user/followings/${userId}`)
}

// 点赞文章的 API（artId 是文章的 id）
export const addLikeAPI = artId => {
  return request.post('/v1_0/article/likings', {
    target: artId
  })
}

// 文章取消点赞的 API
export const delLikeAPI = artId => {
  return request.delete(`/v1_0/article/likings/${artId}`)
}

// 获取文章下评论列表数据的 API（artId 是文章的 Id；offset 是偏移量，用来实现分页数据请求的）
export const getCmtListAPI = (artId, offset) => {
  return request.get('/v1_0/comments', {
    params: {
      // type 的值是字符串 a，表示获取文章下的评论数据
      type: 'a',
      // 文章的 id
      source: artId,
      // 偏移量，用来实现分页数据请求
      offset
    }
  })
}

// 评论点赞的 API（comId 是评论的 Id）
export const addLikeCmtAPI = comId => {
  return request.post('/v1_0/comment/likings', {
    target: comId
  })
}

// 评论取消点赞的 API
export const delLikeCmtAPI = comId => {
  return request.delete(`/v1_0/comment/likings/${comId}`)
}

// 发布评论的 API
export const pubCmtAPI = (artId, content) => {
  return request.post('/v1_0/comments', {
    // 文章的 id
    target: artId,
    // 评论的内容
    content
  })
}
